for _ in range(int(input())):
n=int(input())
l=list(map(int,input().split()))
d={}
for ele in l:
if(ele not in d):
d[ele]=1
else:
d[ele]+=1
mex=0
for i in range(n+1):
if(i not in d):
mex=i
break
if(mex==0):
print(2)
print(1,1)
print(2,n)
continue
d={}
ans=[]
left=0
for i in range(n):
if(l[i]<mex):
d[l[i]]=1
if(len(d)==mex):
ans.append([left+1,i+1])
left=i+1
d={}
ans[len(ans)-1][1]=n
if(len(ans)<2):
print(-1)
else:
print(len(ans))
for val in ans:
print(val[0],val[1])
7A - Kalevitch and Chess | 912B - New Year's Eve |
1537C - Challenging Cliffs | 879B - Table Tennis |
1674E - Breaking the Wall | 1282A - Temporarily unavailable |
1366C - Palindromic Paths | 336A - Vasily the Bear and Triangle |
926A - 2-3-numbers | 276D - Little Girl and Maximum XOR |
1253C - Sweets Eating | 1047A - Little C Loves 3 I |
758D - Ability To Convert | 733A - Grasshopper And the String |
216A - Tiling with Hexagons | 1351B - Square |
1225A - Forgetting Things | 1717A - Madoka and Strange Thoughts |
1717B - Madoka and Underground Competitions | 61B - Hard Work |
959B - Mahmoud and Ehab and the message | 802G - Fake News (easy) |
1717C - Madoka and Formal Statement | 420A - Start Up |
1031A - Golden Plate | 1559C - Mocha and Hiking |
427B - Prison Transfer | 330A - Cakeminator |
426A - Sereja and Mugs | 363A - Soroban |